﻿using Com.JunCaiSoft.Accountant.Common;
using Com.JunCaiSoft.Permission.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace Com.JunCaiSoft.ConstructionCashFlow.Entity
{
    /// <summary>
    /// 资金调拨表
    /// </summary>
    public class CashFlow
    {
        /// <summary>
        /// 调拨标识
        /// </summary>
        public virtual Guid Id { get; set; }
        /// <summary>
        /// 调拨序号
        /// </summary>
        public virtual Int64 Num { get; set; }
        /// <summary>
        /// 调拨编码
        /// </summary>
        public virtual String NumCode { get; set; }
        /// <summary>
        /// 银行外键
        /// </summary>
        public virtual Guid BankId { get; set; }
        /// <summary>
        /// (银行)资金方向
        /// </summary>
        public virtual BookMark BankForward { get; set; }
        /// <summary>
        /// 如果摘要为项目，则此字段必须为项目标识
        /// </summary>
        public virtual Guid ProjectId { get; set; }
        /// <summary>
        /// (项目)资金方向
        /// </summary>
        public virtual BookMark ProjectForward { get; set; }
        /// <summary>
        /// 供货单位
        /// </summary>
        public virtual String SupplierFactory { get; set; }
        /// <summary>
        /// 供应商银行账户
        /// </summary>
        public virtual String SupplierBankAccount { get; set; }
        /// <summary>
        /// 资金流摘要（如果是项目名称填项目名称）
        /// </summary>
        public virtual String Summary { get; set; }
        /// <summary>
        /// 款项类型
        /// </summary>
        public virtual String FundsType { get; set; }
        /// <summary>
        /// 金额
        /// </summary>
        public virtual Double Amount { get; set; }
        /// <summary>
        /// 付款操作员Guid
        /// </summary>
        public virtual Guid PayOperatorId { get; set; }
        /// <summary>
        /// 待确认标识
        /// </summary>
        public virtual Int32 FundsStatus { get; set; }
        /// <summary>
        /// 调拨时间
        /// </summary>
        public virtual Int32 AllocationTime { get; set; }
        /// <summary>
        /// 冻结信息
        /// </summary>
        public virtual Guid FreezeMoney { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public virtual DateTime CreateTime { get; set; }
    }
}
